<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>for_each</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">C++ Algorithms</a> &gt; <a href=
    "for_each.html">for_each</a>
  </div>

  <div class="name-format">
    for_each
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  #include &lt;algorithm&gt;
  UnaryFunction for_each( iterator start, iterator end, UnaryFunction f );
</pre>

  <p>The for_each() algorithm applies the function <em>f</em> to each
  of the elements between <em>start</em> and <em>end</em>. The return
  value of for_each() is <em>f</em>.</p>

  <p>For example, the following code snippets define a unary function
  then use it to increment all of the elements of an array:</p>
  <pre class="example-code">
 template&lt;class <a href=
"../containers.html">TYPE</a>&gt; struct increment : public unary_function&lt;<a href="../containers.html">TYPE</a>, void&gt; {
   void operator() (<a href="../containers.html">TYPE</a>&amp; x) {
     x++;
   }
 };             

 ...            

 int nums[] = {3, 4, 2, 9, 15, 267};
 const int N = 6;               

 cout &lt;&lt; &quot;Before, nums[] is: &quot;;
 for( int i = 0; i &lt; N; i++ ) {
   cout &lt;&lt; nums[i] &lt;&lt; &quot; &quot;;
 }
 cout &lt;&lt; endl;            

 for_each( nums, nums + N, increment&lt;int&gt;() );            

 cout &lt;&lt; &quot;After, nums[] is: &quot;;
 for( int i = 0; i &lt; N; i++ ) {
   cout &lt;&lt; nums[i] &lt;&lt; &quot; &quot;;
 }
 cout &lt;&lt; endl;            
</pre>

  <p>The above code displays the following output:</p>
  <pre class="example-code">
 Before, nums[] is: 3 4 2 9 15 267
 After, nums[] is: 4 5 3 10 16 268              
</pre>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
